<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: outofcore/include/pcl/outofcore/octree_base_node.h 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('octree__base__node_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">octree_base_node.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Software License Agreement (BSD License)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *  Point Cloud Library (PCL) - www.pointclouds.org</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *  Copyright (c) 2010-2012, Willow Garage, Inc.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *  Copyright (c) 2012, Urban Robotics, Inc.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *  All rights reserved.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *  Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *  modification, are permitted provided that the following conditions</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *  are met:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *   * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *     notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *   * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *     copyright notice, this list of conditions and the following</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *     disclaimer in the documentation and/or other materials provided</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *     with the distribution.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *   * Neither the name of Willow Garage, Inc. nor the names of its</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *     contributors may be used to endorse or promote products derived</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *     from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *  &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> *  POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> *  $Id$</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#ifndef PCL_OUTOFCORE_OCTREE_BASE_NODE_H_</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#define PCL_OUTOFCORE_OCTREE_BASE_NODE_H_</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;pcl/common/io.h&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;pcl/PCLPointCloud2.h&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;pcl/outofcore/boost.h&gt;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;pcl/outofcore/octree_base.h&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;pcl/outofcore/octree_disk_container.h&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;pcl/outofcore/outofcore_node_data.h&gt;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">#include &lt;pcl/octree/octree_nodes.h&gt;</span></div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160; </div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;{</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">namespace </span>outofcore</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  {</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <span class="comment">// Forward Declarations</span></div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <span class="keyword">class </span>OutofcoreOctreeBaseNode;</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160; </div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt;</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keyword">class </span>OutofcoreOctreeBase;</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt; OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;*</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    makenode_norec (<span class="keyword">const</span> boost::filesystem::path &amp;path, OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;* super);</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    queryBBIntersects_noload (<span class="keyword">const</span> boost::filesystem::path &amp;root_node, <span class="keyword">const</span> Eigen::Vector3d &amp;min, <span class="keyword">const</span> Eigen::Vector3d &amp;max, <span class="keyword">const</span> boost::uint32_t query_depth, std::list&lt;std::string&gt; &amp;bin_name);</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    queryBBIntersects_noload (OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;* current, <span class="keyword">const</span> Eigen::Vector3d&amp;, <span class="keyword">const</span> Eigen::Vector3d &amp;max, <span class="keyword">const</span> boost::uint32_t query_depth, std::list&lt;std::string&gt; &amp;bin_name);</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keyword">template</span>&lt;<span class="keyword">typename</span> ContainerT = OutofcoreOctreeDiskContainer&lt;pcl::Po<span class="keywordtype">int</span>XYZ&gt;, <span class="keyword">typename</span> Po<span class="keywordtype">int</span>T = pcl::Po<span class="keywordtype">int</span>XYZ&gt;</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">   92</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a> : <span class="keyword">public</span> <a class="code" href="classpcl_1_1octree_1_1_octree_node.html">pcl::octree::OctreeNode</a></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    {</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;      <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">OutofcoreOctreeBase</a>&lt;ContainerT, <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a>&gt; ;</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;      <span class="comment">//these methods can be rewritten with the iterators. </span></div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae826fdd2a9ad1746c38809e08399c7fc">   97</a></span>&#160;      <span class="keyword">friend</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;</a>*</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;      makenode_norec&lt;ContainerT, PointT&gt; (<span class="keyword">const</span> boost::filesystem::path &amp;path, <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;</a>* super);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;  </div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a716f6a950a1b7687a5a50296c49625e5">  100</a></span>&#160;      <span class="keyword">friend</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;      queryBBIntersects_noload&lt;ContainerT, PointT&gt; (<span class="keyword">const</span> boost::filesystem::path &amp;rootnode, <span class="keyword">const</span> Eigen::Vector3d &amp;min, <span class="keyword">const</span> Eigen::Vector3d &amp;max, <span class="keyword">const</span> boost::uint32_t query_depth, std::list&lt;std::string&gt; &amp;bin_name);</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a7888d4fce6b1170f30034c447da2f5fe">  103</a></span>&#160;      <span class="keyword">friend</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;      queryBBIntersects_noload&lt;ContainerT, PointT&gt; (<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;</a>* current, <span class="keyword">const</span> Eigen::Vector3d &amp;min, <span class="keyword">const</span> Eigen::Vector3d &amp;max, <span class="keyword">const</span> boost::uint32_t query_depth, std::list&lt;std::string&gt; &amp;bin_name);</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;  </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">OutofcoreOctreeBase&lt;OutofcoreOctreeDiskContainer &lt; PointT &gt;</a> , <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">octree_disk</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keyword">typedef</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode&lt;OutofcoreOctreeDiskContainer &lt; PointT &gt;</a> , <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &gt; <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">octree_disk_node</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160; </div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keyword">typedef</span> std::vector&lt;PointT, Eigen::aligned_allocator&lt;PointT&gt; &gt; AlignedPointTVector;</div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160; </div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;        <span class="keyword">typedef</span> pcl::octree::node_type_t node_type_t;</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160; </div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> std::string node_index_basename;</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> std::string node_container_basename;</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> std::string node_index_extension;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> std::string node_container_extension;</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> <span class="keywordtype">double</span> sample_percent_;</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a6abe8eec3ce00c880785f9b9726bf95b">OutofcoreOctreeBaseNode</a> ();</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a6abe8eec3ce00c880785f9b9726bf95b">OutofcoreOctreeBaseNode</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;bb_min, <span class="keyword">const</span> Eigen::Vector3d &amp;bb_max, <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">OutofcoreOctreeBase&lt;ContainerT, PointT&gt;</a> * <span class="keyword">const</span> tree, <span class="keyword">const</span> boost::filesystem::path &amp;root_name);</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keyword">virtual</span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acbabae5c3e3695ef13c9cb4d15fcbecc">~OutofcoreOctreeBaseNode</a> ();</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="comment">//query</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="comment"></span>        <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a02626db7622e8b8734750987ec66f973">  137</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a02626db7622e8b8734750987ec66f973">getBoundingBox</a> (Eigen::Vector3d &amp;min_bb, Eigen::Vector3d &amp;max_bb)<span class="keyword"> const</span></div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;          node_metadata_-&gt;getBoundingBox (min_bb, max_bb);</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        }</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160; </div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <span class="keyword">const</span> boost::filesystem::path&amp;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        getPCDFilename ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;          <span class="keywordflow">return</span> node_metadata_-&gt;getPCDFilename ();</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        }</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160; </div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keyword">const</span> boost::filesystem::path&amp;</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        getMetadataFilename ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;          <span class="keywordflow">return</span> node_metadata_-&gt;getMetadataFilename ();</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        }</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160; </div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        queryFrustum (<span class="keyword">const</span> <span class="keywordtype">double</span> planes[24], std::list&lt;std::string&gt;&amp; file_names);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        queryFrustum (<span class="keyword">const</span> <span class="keywordtype">double</span> planes[24], std::list&lt;std::string&gt;&amp; file_names, <span class="keyword">const</span> boost::uint32_t query_depth, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_vfc_check = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;        queryFrustum (<span class="keyword">const</span> <span class="keywordtype">double</span> planes[24], <span class="keyword">const</span> Eigen::Vector3d &amp;eye, <span class="keyword">const</span> Eigen::Matrix4d &amp;view_projection_matrix, std::list&lt;std::string&gt;&amp; file_names, <span class="keyword">const</span> boost::uint32_t query_depth, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_vfc_check = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;        <span class="comment">//point extraction</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment"></span>        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acdacc92401e3bfc72b659894bfafb68f">queryBBIncludes</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keywordtype">size_t</span> query_depth, AlignedPointTVector &amp;dst);</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160; </div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acdacc92401e3bfc72b659894bfafb68f">queryBBIncludes</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keywordtype">size_t</span> query_depth, <span class="keyword">const</span> pcl::PCLPointCloud2::Ptr &amp;dst_blob);</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab6f84897e582d599020c1947eafe5500">queryBBIncludes_subsample</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, boost::uint64_t query_depth, <span class="keyword">const</span> <span class="keywordtype">double</span> percent, AlignedPointTVector &amp;v);</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab6f84897e582d599020c1947eafe5500">queryBBIncludes_subsample</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, boost::uint64_t query_depth, <span class="keyword">const</span> pcl::PCLPointCloud2::Ptr&amp; dst_blob, <span class="keywordtype">double</span> percent = 1.0);</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a30cabf53c79e7ced285f6071c0a0e4f4">queryBBIntersects</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keyword">const</span> boost::uint32_t query_depth, std::list&lt;std::string&gt; &amp;file_names);</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8da02065b6d179e57e22f49a8d47aef">printBoundingBox</a> (<span class="keyword">const</span> <span class="keywordtype">size_t</span> query_depth) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160; </div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a70187347c2d0b3ebe1eb5822e6a1589c">addDataToLeaf</a> (<span class="keyword">const</span> AlignedPointTVector &amp;p, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160; </div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a70187347c2d0b3ebe1eb5822e6a1589c">addDataToLeaf</a> (<span class="keyword">const</span> std::vector&lt;const PointT*&gt; &amp;p, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a068a8bf6a12ed5eb451d6a1ef17f07c2">addPointCloud</a> (<span class="keyword">const</span> pcl::PCLPointCloud2::Ptr &amp;input_cloud, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check = <span class="keyword">false</span>);</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#abd2f9dcfd8b297859ef0c01f0cd91153">addPointCloud_and_genLOD</a> (<span class="keyword">const</span> pcl::PCLPointCloud2::Ptr input_cloud); <span class="comment">//, const bool skip_bb_check);</span></div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;        </div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9e8966b1865d07a00f730beebe6a9ef9">addDataToLeaf_and_genLOD</a> (<span class="keyword">const</span> AlignedPointTVector &amp;p, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check);</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160; </div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a64e4a385bd1a8a51d069ae4cac718e5e">writeVPythonVisual</a> (std::ofstream &amp;file);</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160; </div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">int</span></div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        read (pcl::PCLPointCloud2::Ptr &amp;output_cloud);</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160; </div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">inline</span> node_type_t</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a660e65cd0c4e327534911d5dd9b6eead">  250</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a660e65cd0c4e327534911d5dd9b6eead">getNodeType</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;          <span class="keywordflow">if</span>(this-&gt;<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aabcdf2cecab2918ca63126167752fff4">getNumChildren</a> () &gt; 0)</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;          {</div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;            <span class="keywordflow">return</span> (pcl::octree::BRANCH_NODE);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;          }</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;          <span class="keywordflow">else</span></div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;          {</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;            <span class="keywordflow">return</span> (pcl::octree::LEAF_NODE);</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;          }</div>
<div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;        }</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        </div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">virtual</span></div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>* </div>
<div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a360e74ce8ce4c734028bba86c29f4976">  264</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a360e74ce8ce4c734028bba86c29f4976">deepCopy</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;          <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>* res = NULL;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;          PCL_THROW_EXCEPTION (<a class="code" href="classpcl_1_1_p_c_l_exception.html">PCLException</a>, <span class="stringliteral">&quot;Not implemented\n&quot;</span>);</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;          <span class="keywordflow">return</span> (res);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        }</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160; </div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        getDepth ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;          <span class="keywordflow">return</span> (this-&gt;<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca2c713beae1004385b63b196a3b3d01">depth_</a>);</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        }</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aabcdf2cecab2918ca63126167752fff4">  279</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aabcdf2cecab2918ca63126167752fff4">getNumChildren</a> ()<span class="keyword"> const </span></div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;          <span class="keywordtype">size_t</span> res = this-&gt;<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a8f567f24e70a2f1f3e4e3760c125a794">countNumChildren</a> ();</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;          <span class="keywordflow">return</span> (res);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        }</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160; </div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9d388e4988d2b1c066015bcdd757501f">  287</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9d388e4988d2b1c066015bcdd757501f">getNumLoadedChildren</a> ()<span class="keyword">  const</span></div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;          <span class="keywordtype">size_t</span> res = this-&gt;<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae37a4044f08bab8a30666f8bdd335983">countNumLoadedChildren</a> ();</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;          <span class="keywordflow">return</span> (res);</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        }        </div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        </div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>*</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a49e16dd89655afbe6daa4290e791f516">getChildPtr</a> (<span class="keywordtype">size_t</span> index_arg) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;        <span class="keyword">virtual</span> boost::uint64_t</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0c4732477a90b07e7806cc67d74dbc7d">getDataSize</a> () <span class="keyword">const</span>;</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;        clearData ()</div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;        {</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;          <span class="comment">//clears write cache and removes PCD file from disk</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;          this-&gt;<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a5afa8b2a7f8a4f2d21dbcc9cb749c993">payload_</a>-&gt;clear ();</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;        }</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160; </div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;      <span class="comment">// PROTECTED METHODS</span></div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="comment"></span>      <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a6abe8eec3ce00c880785f9b9726bf95b">OutofcoreOctreeBaseNode</a> (<span class="keyword">const</span> boost::filesystem::path &amp;directory_path, OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;* super, <span class="keywordtype">bool</span> load_all);</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160; </div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a756b7646bdd922567d02dcd26d5a4c36">init_root_node</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;bb_min, <span class="keyword">const</span> Eigen::Vector3d &amp;bb_max, OutofcoreOctreeBase&lt;ContainerT, PointT&gt; * <span class="keyword">const</span> tree, <span class="keyword">const</span> boost::filesystem::path &amp;rootname);</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160; </div>
<div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aacb73bf2c6196978ccdd045b5b27df4a">  340</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aacb73bf2c6196978ccdd045b5b27df4a">OutofcoreOctreeBaseNode</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a> &amp;rval);</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160; </div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>&amp;</div>
<div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a322f20b7d829b06a0dad6a4d506ab678">  344</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a322f20b7d829b06a0dad6a4d506ab678">operator= </a>(<span class="keyword">const</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a> &amp;rval);</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160; </div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a8f567f24e70a2f1f3e4e3760c125a794">countNumChildren</a> () <span class="keyword">const</span>;</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">size_t</span></div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae37a4044f08bab8a30666f8bdd335983">countNumLoadedChildren</a> () <span class="keyword">const</span>;</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;        </div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a81981aa776d748889cd72b7146e4ffe5">saveIdx</a> (<span class="keywordtype">bool</span> recursive);</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160; </div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3e7ca923f6949fdbb3d461dbe9d85f22">randomSample</a> (<span class="keyword">const</span> AlignedPointTVector &amp;p, AlignedPointTVector &amp;insertBuff, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check);</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160; </div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#abbd17c866ef1f12d6d8b99eb33bbd61f">subdividePoints</a> (<span class="keyword">const</span> AlignedPointTVector &amp;p, std::vector&lt; AlignedPointTVector &gt; &amp;c, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check);</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acaa9286ec93878ea760311e654132a3e">subdividePoint</a> (<span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;point, std::vector&lt; AlignedPointTVector &gt; &amp;c);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;        boost::uint64_t</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aaf52eaaab45e9b3f24aefc1aae220de2">addDataAtMaxDepth</a> (<span class="keyword">const</span> AlignedPointTVector &amp;p, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160; </div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;        boost::uint64_t</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aaf52eaaab45e9b3f24aefc1aae220de2">addDataAtMaxDepth</a> (<span class="keyword">const</span> pcl::PCLPointCloud2::Ptr input_cloud, <span class="keyword">const</span> <span class="keywordtype">bool</span> skip_bb_check = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        </div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0dfc9e4699b5197e2a23d71d1d96bb18">intersectsWithBoundingBox</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160; </div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ad88e68bf251e5f640a4517e00ae42a69">inBoundingBox</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; </div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a809db94b3ebf6a4bd150d129b4b1db6d">  426</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a809db94b3ebf6a4bd150d129b4b1db6d">pointInBoundingBox</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;point);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160; </div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a809db94b3ebf6a4bd150d129b4b1db6d">pointInBoundingBox</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;p);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160; </div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a72b5b9bc1e646f724e43a3c668615f58">  444</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a72b5b9bc1e646f724e43a3c668615f58">pointInBoundingBox</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;min_bb, <span class="keyword">const</span> Eigen::Vector3d &amp;max_bb, <span class="keyword">const</span> <span class="keywordtype">double</span> x, <span class="keyword">const</span> <span class="keywordtype">double</span> y, <span class="keyword">const</span> <span class="keywordtype">double</span> z);</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160; </div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a809db94b3ebf6a4bd150d129b4b1db6d">pointInBoundingBox</a> (<span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y_z_r_g_b_a.html">PointT</a> &amp;p) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#af309ee9da72334d87619ce4b92cbf75b">createChild</a> (<span class="keyword">const</span> std::size_t idx);</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160; </div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae3f660757a6708689539742b5a4b65dd">  458</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae3f660757a6708689539742b5a4b65dd">saveMetadataToFile</a> (<span class="keyword">const</span> boost::filesystem::path &amp;path);</div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160; </div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8b1d0fb47dc71a3ddec4a2b7c16121c">recFreeChildren</a> ();</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160; </div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        <span class="keyword">inline</span> boost::uint64_t</div>
<div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a592ba5034ef1efc36a9ebaeb7d06d92a">  467</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a592ba5034ef1efc36a9ebaeb7d06d92a">size</a> ()<span class="keyword"> const</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="keyword">        </span>{</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;          <span class="keywordflow">return</span> (<a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a5afa8b2a7f8a4f2d21dbcc9cb749c993">payload_</a>-&gt;size ());</div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;        }</div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160; </div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        flushToDiskRecursive ();</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160; </div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a2e2641ff660f418f576fe4962e3e44d1">loadFromFile</a> (<span class="keyword">const</span> boost::filesystem::path &amp;path, <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>* super);</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160; </div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a740054acdc4f823942dc51f34c79e579">convertToXYZRecursive</a> ();</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160; </div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a6abe8eec3ce00c880785f9b9726bf95b">OutofcoreOctreeBaseNode</a> (<span class="keyword">const</span> Eigen::Vector3d &amp;bb_min, <span class="keyword">const</span> Eigen::Vector3d &amp;bb_max, <span class="keyword">const</span> <span class="keywordtype">char</span>* dir, <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode&lt;ContainerT, PointT&gt;</a>* super);</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160; </div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ac9f2855808b2d61bc51d2dc56065185a">copyAllCurrentAndChildPointsRec</a> (std::list&lt;PointT&gt; &amp;v);</div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160; </div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        copyAllCurrentAndChildPointsRec_sub (std::list&lt;PointT&gt; &amp;v, <span class="keyword">const</span> <span class="keywordtype">double</span> percent);</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160; </div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3270af407876c73e75df3321f5ecb9ed">hasUnloadedChildren</a> () <span class="keyword">const</span>;</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160; </div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ad0e74a5ac5e0bcebb80c569290c4c465">loadChildren</a> (<span class="keywordtype">bool</span> recursive);</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160; </div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0f8d78b9eff5c1bda626056bc296fd22">getOccupiedVoxelCentersRecursive</a> (AlignedPointTVector &amp;voxel_centers, <span class="keyword">const</span> <span class="keywordtype">size_t</span> query_depth);</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160; </div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0f8d78b9eff5c1bda626056bc296fd22">getOccupiedVoxelCentersRecursive</a> (std::vector&lt;Eigen::Vector3d, Eigen::aligned_allocator&lt;Eigen::Vector3d&gt; &gt; &amp;voxel_centers, <span class="keyword">const</span> <span class="keywordtype">size_t</span> query_depth);</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160; </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3e584fa9e47e5d1bb7c1ec83752db20e">sortOctantIndices</a> (<span class="keyword">const</span> pcl::PCLPointCloud2::Ptr &amp;input_cloud, std::vector&lt; std::vector&lt;int&gt; &gt; &amp;indices, <span class="keyword">const</span> Eigen::Vector3d &amp;mid_xyz);</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160; </div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#af0f7c8d58ca0420abf980a3485e4e37c">  531</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#af0f7c8d58ca0420abf980a3485e4e37c">enlargeToCube</a> (Eigen::Vector3d &amp;bb_min, Eigen::Vector3d &amp;bb_max);</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160; </div>
<div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a4f620ffb1ce5fdf0e2d0bd93b1617e9a">  534</a></span>&#160;        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">OutofcoreOctreeBase&lt;ContainerT, PointT&gt;</a>* <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a4f620ffb1ce5fdf0e2d0bd93b1617e9a">m_tree_</a>;<span class="comment">//</span></div>
<div class="line"><a name="l00536"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a796c6c8e9a51cd42d8ce7b7fefcf3261">  536</a></span>&#160;<span class="comment"></span>        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>* <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a796c6c8e9a51cd42d8ce7b7fefcf3261">root_node_</a>;<span class="comment">//</span></div>
<div class="line"><a name="l00538"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a7538e46e8b3d89bfbd03b0e606852ccc">  538</a></span>&#160;<span class="comment"></span>        <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">OutofcoreOctreeBaseNode</a>* <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a7538e46e8b3d89bfbd03b0e606852ccc">parent_</a>;</div>
<div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca2c713beae1004385b63b196a3b3d01">  540</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca2c713beae1004385b63b196a3b3d01">depth_</a>;</div>
<div class="line"><a name="l00542"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9f2fb7fbd7be380212c99017557be57e">  542</a></span>&#160;        std::vector&lt;OutofcoreOctreeBaseNode*&gt; <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9f2fb7fbd7be380212c99017557be57e">children_</a>;</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160; </div>
<div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a2c485ec11c94788d45436620fefe3402">  545</a></span>&#160;        uint64_t <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a2c485ec11c94788d45436620fefe3402">num_children_</a>;</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160; </div>
<div class="line"><a name="l00553"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca589546f23851a4b6e79dca8ef83181">  553</a></span>&#160;        uint64_t <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca589546f23851a4b6e79dca8ef83181">num_loaded_children_</a>;</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160; </div>
<div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a5afa8b2a7f8a4f2d21dbcc9cb749c993">  558</a></span>&#160;        boost::shared_ptr&lt;ContainerT&gt; <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a5afa8b2a7f8a4f2d21dbcc9cb749c993">payload_</a>;</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160; </div>
<div class="line"><a name="l00561"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8d9ecc1f06680f2df5c5f73fe43eeec">  561</a></span>&#160;        <span class="keyword">static</span> boost::mutex <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8d9ecc1f06680f2df5c5f73fe43eeec">rng_mutex_</a>;</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160; </div>
<div class="line"><a name="l00565"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f1713678ae1def55982cdb8cd74f885">  565</a></span>&#160;        <span class="keyword">static</span> boost::mt19937 <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f1713678ae1def55982cdb8cd74f885">rand_gen_</a>;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160; </div>
<div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f98fef3c0c5d198a2341324ef445d72">  568</a></span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> boost::uint32_t <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f98fef3c0c5d198a2341324ef445d72">rngseed</a> = 0xAABBCCDD;</div>
<div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab0013fb7503dde308087de3382048b62">  570</a></span>&#160;        <span class="keyword">const</span> <span class="keyword">static</span> std::string <a class="code" href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab0013fb7503dde308087de3382048b62">pcd_extension</a>;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160; </div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        OutofcoreOctreeNodeMetadata::Ptr node_metadata_;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;    };</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;  }<span class="comment">//namespace outofcore</span></div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;}<span class="comment">//namespace pcl</span></div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160; </div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="preprocessor">#endif </span><span class="comment">//PCL_OUTOFCORE_OCTREE_BASE_NODE_H_</span></div>
<div class="ttc" id="aclasspcl_1_1_p_c_l_exception_html"><div class="ttname"><a href="classpcl_1_1_p_c_l_exception.html">pcl::PCLException</a></div><div class="ttdoc">A base class for all pcl exceptions which inherits from std::runtime_error</div><div class="ttdef"><b>Definition:</b> exceptions.h:65</div></div>
<div class="ttc" id="aclasspcl_1_1octree_1_1_octree_node_html"><div class="ttname"><a href="classpcl_1_1octree_1_1_octree_node.html">pcl::octree::OctreeNode</a></div><div class="ttdoc">Abstract octree node class</div><div class="ttdef"><b>Definition:</b> octree_nodes.h:69</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_html"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base.html">pcl::outofcore::OutofcoreOctreeBase</a></div><div class="ttdoc">This code defines the octree used for point storage at Urban Robotics.</div><div class="ttdef"><b>Definition:</b> octree_base.h:150</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html">pcl::outofcore::OutofcoreOctreeBaseNode</a></div><div class="ttdoc">OutofcoreOctreeBaseNode Class internally representing nodes of an outofcore octree,...</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:93</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a02626db7622e8b8734750987ec66f973"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a02626db7622e8b8734750987ec66f973">pcl::outofcore::OutofcoreOctreeBaseNode::getBoundingBox</a></div><div class="ttdeci">virtual void getBoundingBox(Eigen::Vector3d &amp;min_bb, Eigen::Vector3d &amp;max_bb) const</div><div class="ttdoc">gets the minimum and maximum corner of the bounding box represented by this node</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:137</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a068a8bf6a12ed5eb451d6a1ef17f07c2"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a068a8bf6a12ed5eb451d6a1ef17f07c2">pcl::outofcore::OutofcoreOctreeBaseNode::addPointCloud</a></div><div class="ttdeci">virtual boost::uint64_t addPointCloud(const pcl::PCLPointCloud2::Ptr &amp;input_cloud, const bool skip_bb_check=false)</div><div class="ttdoc">Add a single PCLPointCloud2 object into the octree.</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:508</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a0c4732477a90b07e7806cc67d74dbc7d"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0c4732477a90b07e7806cc67d74dbc7d">pcl::outofcore::OutofcoreOctreeBaseNode::getDataSize</a></div><div class="ttdeci">virtual boost::uint64_t getDataSize() const</div><div class="ttdoc">Gets the number of points available in the PCD file</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1932</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a0dfc9e4699b5197e2a23d71d1d96bb18"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0dfc9e4699b5197e2a23d71d1d96bb18">pcl::outofcore::OutofcoreOctreeBaseNode::intersectsWithBoundingBox</a></div><div class="ttdeci">bool intersectsWithBoundingBox(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb) const</div><div class="ttdoc">Tests whether the input bounding box intersects with the current node's bounding box</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1831</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a0f8d78b9eff5c1bda626056bc296fd22"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a0f8d78b9eff5c1bda626056bc296fd22">pcl::outofcore::OutofcoreOctreeBaseNode::getOccupiedVoxelCentersRecursive</a></div><div class="ttdeci">void getOccupiedVoxelCentersRecursive(AlignedPointTVector &amp;voxel_centers, const size_t query_depth)</div><div class="ttdoc">Gets a vector of occupied voxel centers</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:986</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a1f1713678ae1def55982cdb8cd74f885"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f1713678ae1def55982cdb8cd74f885">pcl::outofcore::OutofcoreOctreeBaseNode::rand_gen_</a></div><div class="ttdeci">static boost::mt19937 rand_gen_</div><div class="ttdoc">Mersenne Twister: A 623-dimensionally equidistributed uniform pseudo-random number generator</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:565</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a1f98fef3c0c5d198a2341324ef445d72"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a1f98fef3c0c5d198a2341324ef445d72">pcl::outofcore::OutofcoreOctreeBaseNode::rngseed</a></div><div class="ttdeci">static const boost::uint32_t rngseed</div><div class="ttdoc">Random number generator seed</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:568</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a2c485ec11c94788d45436620fefe3402"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a2c485ec11c94788d45436620fefe3402">pcl::outofcore::OutofcoreOctreeBaseNode::num_children_</a></div><div class="ttdeci">uint64_t num_children_</div><div class="ttdoc">Number of children on disk. This is only changed when a new node is created</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:545</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a2e2641ff660f418f576fe4962e3e44d1"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a2e2641ff660f418f576fe4962e3e44d1">pcl::outofcore::OutofcoreOctreeBaseNode::loadFromFile</a></div><div class="ttdeci">void loadFromFile(const boost::filesystem::path &amp;path, OutofcoreOctreeBaseNode *super)</div><div class="ttdoc">Loads the nodes metadata from the JSON file</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1956</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a30cabf53c79e7ced285f6071c0a0e4f4"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a30cabf53c79e7ced285f6071c0a0e4f4">pcl::outofcore::OutofcoreOctreeBaseNode::queryBBIntersects</a></div><div class="ttdeci">virtual void queryBBIntersects(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb, const boost::uint32_t query_depth, std::list&lt; std::string &gt; &amp;file_names)</div><div class="ttdoc">Recursive acquires PCD paths to any node with which the queried bounding box intersects (at query_dep...</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1353</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a322f20b7d829b06a0dad6a4d506ab678"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a322f20b7d829b06a0dad6a4d506ab678">pcl::outofcore::OutofcoreOctreeBaseNode::operator=</a></div><div class="ttdeci">OutofcoreOctreeBaseNode &amp; operator=(const OutofcoreOctreeBaseNode &amp;rval)</div><div class="ttdoc">Operator= is not implemented</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a3270af407876c73e75df3321f5ecb9ed"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3270af407876c73e75df3321f5ecb9ed">pcl::outofcore::OutofcoreOctreeBaseNode::hasUnloadedChildren</a></div><div class="ttdeci">bool hasUnloadedChildren() const</div><div class="ttdoc">Returns whether or not a node has unloaded children data</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:301</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a360e74ce8ce4c734028bba86c29f4976"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a360e74ce8ce4c734028bba86c29f4976">pcl::outofcore::OutofcoreOctreeBaseNode::deepCopy</a></div><div class="ttdeci">virtual OutofcoreOctreeBaseNode * deepCopy() const</div><div class="ttdoc">Pure virtual method to perform a deep copy of the octree</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:264</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a3e584fa9e47e5d1bb7c1ec83752db20e"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3e584fa9e47e5d1bb7c1ec83752db20e">pcl::outofcore::OutofcoreOctreeBaseNode::sortOctantIndices</a></div><div class="ttdeci">void sortOctantIndices(const pcl::PCLPointCloud2::Ptr &amp;input_cloud, std::vector&lt; std::vector&lt; int &gt; &gt; &amp;indices, const Eigen::Vector3d &amp;mid_xyz)</div><div class="ttdoc">Sorts the indices based on x,y,z fields and pushes the index into the proper octant's vector; This co...</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:2007</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a3e7ca923f6949fdbb3d461dbe9d85f22"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a3e7ca923f6949fdbb3d461dbe9d85f22">pcl::outofcore::OutofcoreOctreeBaseNode::randomSample</a></div><div class="ttdeci">void randomSample(const AlignedPointTVector &amp;p, AlignedPointTVector &amp;insertBuff, const bool skip_bb_check)</div><div class="ttdoc">Randomly sample point data</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:572</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a49e16dd89655afbe6daa4290e791f516"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a49e16dd89655afbe6daa4290e791f516">pcl::outofcore::OutofcoreOctreeBaseNode::getChildPtr</a></div><div class="ttdeci">virtual OutofcoreOctreeBaseNode * getChildPtr(size_t index_arg) const</div><div class="ttdoc">Returns a pointer to the child in octant index_arg</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1924</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a4f620ffb1ce5fdf0e2d0bd93b1617e9a"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a4f620ffb1ce5fdf0e2d0bd93b1617e9a">pcl::outofcore::OutofcoreOctreeBaseNode::m_tree_</a></div><div class="ttdeci">OutofcoreOctreeBase&lt; ContainerT, PointT &gt; * m_tree_</div><div class="ttdoc">The tree we belong to</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:534</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a592ba5034ef1efc36a9ebaeb7d06d92a"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a592ba5034ef1efc36a9ebaeb7d06d92a">pcl::outofcore::OutofcoreOctreeBaseNode::size</a></div><div class="ttdeci">boost::uint64_t size() const</div><div class="ttdoc">Number of points in the payload</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:467</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a5afa8b2a7f8a4f2d21dbcc9cb749c993"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a5afa8b2a7f8a4f2d21dbcc9cb749c993">pcl::outofcore::OutofcoreOctreeBaseNode::payload_</a></div><div class="ttdeci">boost::shared_ptr&lt; ContainerT &gt; payload_</div><div class="ttdoc">what holds the points. currently a custom class, but in theory you could use an stl container if you ...</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:558</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a64e4a385bd1a8a51d069ae4cac718e5e"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a64e4a385bd1a8a51d069ae4cac718e5e">pcl::outofcore::OutofcoreOctreeBaseNode::writeVPythonVisual</a></div><div class="ttdeci">void writeVPythonVisual(std::ofstream &amp;file)</div><div class="ttdoc">Write a python visual script to file</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1895</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a660e65cd0c4e327534911d5dd9b6eead"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a660e65cd0c4e327534911d5dd9b6eead">pcl::outofcore::OutofcoreOctreeBaseNode::getNodeType</a></div><div class="ttdeci">virtual node_type_t getNodeType() const</div><div class="ttdoc">Pure virtual method for receiving the type of octree node (branch or leaf)</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:250</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a6abe8eec3ce00c880785f9b9726bf95b"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a6abe8eec3ce00c880785f9b9726bf95b">pcl::outofcore::OutofcoreOctreeBaseNode::OutofcoreOctreeBaseNode</a></div><div class="ttdeci">OutofcoreOctreeBaseNode()</div><div class="ttdoc">Empty constructor; sets pointers for children and for bounding boxes to 0</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:90</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a70187347c2d0b3ebe1eb5822e6a1589c"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a70187347c2d0b3ebe1eb5822e6a1589c">pcl::outofcore::OutofcoreOctreeBaseNode::addDataToLeaf</a></div><div class="ttdeci">virtual boost::uint64_t addDataToLeaf(const AlignedPointTVector &amp;p, const bool skip_bb_check=true)</div><div class="ttdoc">add point to this node if we are a leaf, or find the leaf below us that is supposed to take the point</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:356</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a72b5b9bc1e646f724e43a3c668615f58"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a72b5b9bc1e646f724e43a3c668615f58">pcl::outofcore::OutofcoreOctreeBaseNode::pointInBoundingBox</a></div><div class="ttdeci">static bool pointInBoundingBox(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb, const double x, const double y, const double z)</div><div class="ttdoc">Tests whether x, y, and z fall within the input bounding box</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a740054acdc4f823942dc51f34c79e579"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a740054acdc4f823942dc51f34c79e579">pcl::outofcore::OutofcoreOctreeBaseNode::convertToXYZRecursive</a></div><div class="ttdeci">void convertToXYZRecursive()</div><div class="ttdoc">Recursively converts data files to ascii XZY files</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1974</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a7538e46e8b3d89bfbd03b0e606852ccc"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a7538e46e8b3d89bfbd03b0e606852ccc">pcl::outofcore::OutofcoreOctreeBaseNode::parent_</a></div><div class="ttdeci">OutofcoreOctreeBaseNode * parent_</div><div class="ttdoc">super-node</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:538</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a756b7646bdd922567d02dcd26d5a4c36"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a756b7646bdd922567d02dcd26d5a4c36">pcl::outofcore::OutofcoreOctreeBaseNode::init_root_node</a></div><div class="ttdeci">void init_root_node(const Eigen::Vector3d &amp;bb_min, const Eigen::Vector3d &amp;bb_max, OutofcoreOctreeBase&lt; ContainerT, PointT &gt; *const tree, const boost::filesystem::path &amp;rootname)</div><div class="ttdoc">Create root node and directory</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:202</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a796c6c8e9a51cd42d8ce7b7fefcf3261"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a796c6c8e9a51cd42d8ce7b7fefcf3261">pcl::outofcore::OutofcoreOctreeBaseNode::root_node_</a></div><div class="ttdeci">OutofcoreOctreeBaseNode * root_node_</div><div class="ttdoc">The root node of the tree we belong to</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:536</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a809db94b3ebf6a4bd150d129b4b1db6d"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a809db94b3ebf6a4bd150d129b4b1db6d">pcl::outofcore::OutofcoreOctreeBaseNode::pointInBoundingBox</a></div><div class="ttdeci">bool pointInBoundingBox(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb, const Eigen::Vector3d &amp;point)</div><div class="ttdoc">Tests whether point falls within the input bounding box</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a81981aa776d748889cd72b7146e4ffe5"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a81981aa776d748889cd72b7146e4ffe5">pcl::outofcore::OutofcoreOctreeBaseNode::saveIdx</a></div><div class="ttdeci">void saveIdx(bool recursive)</div><div class="ttdoc">Save node's metadata to file</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:284</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a8f567f24e70a2f1f3e4e3760c125a794"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a8f567f24e70a2f1f3e4e3760c125a794">pcl::outofcore::OutofcoreOctreeBaseNode::countNumChildren</a></div><div class="ttdeci">virtual size_t countNumChildren() const</div><div class="ttdoc">Counts the number of child directories on disk; used to update num_children_</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:268</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a9d388e4988d2b1c066015bcdd757501f"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9d388e4988d2b1c066015bcdd757501f">pcl::outofcore::OutofcoreOctreeBaseNode::getNumLoadedChildren</a></div><div class="ttdeci">virtual size_t getNumLoadedChildren() const</div><div class="ttdoc">Count loaded chilren</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:287</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a9e8966b1865d07a00f730beebe6a9ef9"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9e8966b1865d07a00f730beebe6a9ef9">pcl::outofcore::OutofcoreOctreeBaseNode::addDataToLeaf_and_genLOD</a></div><div class="ttdeci">virtual boost::uint64_t addDataToLeaf_and_genLOD(const AlignedPointTVector &amp;p, const bool skip_bb_check)</div><div class="ttdoc">Recursively add points to the leaf and children subsampling LODs on the way down.</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:820</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_a9f2fb7fbd7be380212c99017557be57e"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#a9f2fb7fbd7be380212c99017557be57e">pcl::outofcore::OutofcoreOctreeBaseNode::children_</a></div><div class="ttdeci">std::vector&lt; OutofcoreOctreeBaseNode * &gt; children_</div><div class="ttdoc">The children of this node</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:542</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_aabcdf2cecab2918ca63126167752fff4"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aabcdf2cecab2918ca63126167752fff4">pcl::outofcore::OutofcoreOctreeBaseNode::getNumChildren</a></div><div class="ttdeci">virtual size_t getNumChildren() const</div><div class="ttdoc">Returns the total number of children on disk</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:279</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_aacb73bf2c6196978ccdd045b5b27df4a"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aacb73bf2c6196978ccdd045b5b27df4a">pcl::outofcore::OutofcoreOctreeBaseNode::OutofcoreOctreeBaseNode</a></div><div class="ttdeci">OutofcoreOctreeBaseNode(const OutofcoreOctreeBaseNode &amp;rval)</div><div class="ttdoc">no copy construction right now</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_aaf52eaaab45e9b3f24aefc1aae220de2"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aaf52eaaab45e9b3f24aefc1aae220de2">pcl::outofcore::OutofcoreOctreeBaseNode::addDataAtMaxDepth</a></div><div class="ttdeci">boost::uint64_t addDataAtMaxDepth(const AlignedPointTVector &amp;p, const bool skip_bb_check=true)</div><div class="ttdoc">Add data to the leaf when at max depth of tree. If skip_bb_check is true, adds to the node regardless...</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:625</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ab0013fb7503dde308087de3382048b62"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab0013fb7503dde308087de3382048b62">pcl::outofcore::OutofcoreOctreeBaseNode::pcd_extension</a></div><div class="ttdeci">static const std::string pcd_extension</div><div class="ttdoc">Extension for this class to find the pcd files on disk</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:570</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ab6f84897e582d599020c1947eafe5500"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ab6f84897e582d599020c1947eafe5500">pcl::outofcore::OutofcoreOctreeBaseNode::queryBBIncludes_subsample</a></div><div class="ttdeci">virtual void queryBBIncludes_subsample(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb, boost::uint64_t query_depth, const double percent, AlignedPointTVector &amp;v)</div><div class="ttdoc">Recursively add points that fall into the queried bounding box up to the query_depth</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1658</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_abbd17c866ef1f12d6d8b99eb33bbd61f"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#abbd17c866ef1f12d6d8b99eb33bbd61f">pcl::outofcore::OutofcoreOctreeBaseNode::subdividePoints</a></div><div class="ttdeci">void subdividePoints(const AlignedPointTVector &amp;p, std::vector&lt; AlignedPointTVector &gt; &amp;c, const bool skip_bb_check)</div><div class="ttdoc">Subdivide points to pass to child nodes</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:688</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_abd2f9dcfd8b297859ef0c01f0cd91153"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#abd2f9dcfd8b297859ef0c01f0cd91153">pcl::outofcore::OutofcoreOctreeBaseNode::addPointCloud_and_genLOD</a></div><div class="ttdeci">virtual boost::uint64_t addPointCloud_and_genLOD(const pcl::PCLPointCloud2::Ptr input_cloud)</div><div class="ttdoc">Add a single PCLPointCloud2 into the octree and build the subsampled LOD during construction; this me...</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:720</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ac9f2855808b2d61bc51d2dc56065185a"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ac9f2855808b2d61bc51d2dc56065185a">pcl::outofcore::OutofcoreOctreeBaseNode::copyAllCurrentAndChildPointsRec</a></div><div class="ttdeci">void copyAllCurrentAndChildPointsRec(std::list&lt; PointT &gt; &amp;v)</div><div class="ttdoc">Copies points from this and all children into a single point container (std::list)</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1782</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_aca2c713beae1004385b63b196a3b3d01"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca2c713beae1004385b63b196a3b3d01">pcl::outofcore::OutofcoreOctreeBaseNode::depth_</a></div><div class="ttdeci">size_t depth_</div><div class="ttdoc">Depth in the tree, root is 0, root's children are 1, ...</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:540</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_aca589546f23851a4b6e79dca8ef83181"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#aca589546f23851a4b6e79dca8ef83181">pcl::outofcore::OutofcoreOctreeBaseNode::num_loaded_children_</a></div><div class="ttdeci">uint64_t num_loaded_children_</div><div class="ttdoc">Number of loaded children this node has</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:553</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_acaa9286ec93878ea760311e654132a3e"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acaa9286ec93878ea760311e654132a3e">pcl::outofcore::OutofcoreOctreeBaseNode::subdividePoint</a></div><div class="ttdeci">void subdividePoint(const PointT &amp;point, std::vector&lt; AlignedPointTVector &gt; &amp;c)</div><div class="ttdoc">Subdivide a single point into a specific child node</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:710</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_acbabae5c3e3695ef13c9cb4d15fcbecc"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acbabae5c3e3695ef13c9cb4d15fcbecc">pcl::outofcore::OutofcoreOctreeBaseNode::~OutofcoreOctreeBaseNode</a></div><div class="ttdeci">virtual ~OutofcoreOctreeBaseNode()</div><div class="ttdoc">Will recursively delete all children calling recFreeChildrein</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:259</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_acdacc92401e3bfc72b659894bfafb68f"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#acdacc92401e3bfc72b659894bfafb68f">pcl::outofcore::OutofcoreOctreeBaseNode::queryBBIncludes</a></div><div class="ttdeci">virtual void queryBBIncludes(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb, size_t query_depth, AlignedPointTVector &amp;dst)</div><div class="ttdoc">Recursively add points that fall into the queried bounding box up to the query_depth</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1517</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ad0e74a5ac5e0bcebb80c569290c4c465"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ad0e74a5ac5e0bcebb80c569290c4c465">pcl::outofcore::OutofcoreOctreeBaseNode::loadChildren</a></div><div class="ttdeci">virtual void loadChildren(bool recursive)</div><div class="ttdoc">Load nodes child data creating new nodes for each</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:311</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ad88e68bf251e5f640a4517e00ae42a69"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ad88e68bf251e5f640a4517e00ae42a69">pcl::outofcore::OutofcoreOctreeBaseNode::inBoundingBox</a></div><div class="ttdeci">bool inBoundingBox(const Eigen::Vector3d &amp;min_bb, const Eigen::Vector3d &amp;max_bb) const</div><div class="ttdoc">Tests whether the input bounding box falls inclusively within this node's bounding box</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1853</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ae37a4044f08bab8a30666f8bdd335983"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae37a4044f08bab8a30666f8bdd335983">pcl::outofcore::OutofcoreOctreeBaseNode::countNumLoadedChildren</a></div><div class="ttdeci">virtual size_t countNumLoadedChildren() const</div><div class="ttdoc">Counts the number of loaded chilren by testing the children_ array; used to update num_loaded_chilren...</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:1940</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ae3f660757a6708689539742b5a4b65dd"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae3f660757a6708689539742b5a4b65dd">pcl::outofcore::OutofcoreOctreeBaseNode::saveMetadataToFile</a></div><div class="ttdeci">void saveMetadataToFile(const boost::filesystem::path &amp;path)</div><div class="ttdoc">Write JSON metadata for this node to file</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ae8b1d0fb47dc71a3ddec4a2b7c16121c"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8b1d0fb47dc71a3ddec4a2b7c16121c">pcl::outofcore::OutofcoreOctreeBaseNode::recFreeChildren</a></div><div class="ttdeci">void recFreeChildren()</div><div class="ttdoc">Method which recursively free children of this node</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:335</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ae8d9ecc1f06680f2df5c5f73fe43eeec"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8d9ecc1f06680f2df5c5f73fe43eeec">pcl::outofcore::OutofcoreOctreeBaseNode::rng_mutex_</a></div><div class="ttdeci">static boost::mutex rng_mutex_</div><div class="ttdoc">Random number generator mutex</div><div class="ttdef"><b>Definition:</b> octree_base_node.h:561</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_ae8da02065b6d179e57e22f49a8d47aef"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#ae8da02065b6d179e57e22f49a8d47aef">pcl::outofcore::OutofcoreOctreeBaseNode::printBoundingBox</a></div><div class="ttdeci">virtual void printBoundingBox(const size_t query_depth) const</div><div class="ttdoc">Write the voxel size to stdout at query_depth</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:958</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_af0f7c8d58ca0420abf980a3485e4e37c"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#af0f7c8d58ca0420abf980a3485e4e37c">pcl::outofcore::OutofcoreOctreeBaseNode::enlargeToCube</a></div><div class="ttdeci">void enlargeToCube(Eigen::Vector3d &amp;bb_min, Eigen::Vector3d &amp;bb_max)</div><div class="ttdoc">Enlarges the shortest two sidelengths of the bounding box to a cubic shape; operation is done in plac...</div></div>
<div class="ttc" id="aclasspcl_1_1outofcore_1_1_outofcore_octree_base_node_html_af309ee9da72334d87619ce4b92cbf75b"><div class="ttname"><a href="classpcl_1_1outofcore_1_1_outofcore_octree_base_node.html#af309ee9da72334d87619ce4b92cbf75b">pcl::outofcore::OutofcoreOctreeBaseNode::createChild</a></div><div class="ttdeci">void createChild(const std::size_t idx)</div><div class="ttdoc">Creates child node idx</div><div class="ttdef"><b>Definition:</b> octree_base_node.hpp:878</div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_z_r_g_b_a_html"><div class="ttname"><a href="structpcl_1_1_point_x_y_z_r_g_b_a.html">pcl::PointXYZRGBA</a></div><div class="ttdoc">A point structure representing Euclidean xyz coordinates, and the RGBA color.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:540</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_2e3f8fccb26eb21d69508a4e9567ba76.html">outofcore</a></li><li class="navelem"><a class="el" href="dir_87426fb8f69ee703d182f5a876427625.html">include</a></li><li class="navelem"><a class="el" href="dir_a1b786781392adb010bba29d73db886e.html">pcl</a></li><li class="navelem"><a class="el" href="dir_bd1aec8c37d6c565fde3012cc8be891d.html">outofcore</a></li><li class="navelem"><b>octree_base_node.h</b></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
